package com.zmzncs.lmtc.module.customer.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zmzncs.lmtc.module.customer.pojo.cardmonthrecord.CardMonthRecord;
import com.zmzncs.lmtc.module.customer.pojo.cardmonthrecord.CardMonthRecordDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <p>
 * 月租车信息表 Mapper 接口
 * </p>
 *
 * @author 作者
 * @since 2021-02-05
 */
@Repository
@Mapper
public interface CardMonthRecordDao extends BaseMapper<CardMonthRecord> {

    /**根据tradeNo查询*/
    CardMonthRecordDTO getByTradeNo(String tradeNo);

    /** 根据车场Id、车牌号查询之前是否购买月卡*/
    List<CardMonthRecordDTO> getRecordByParkIdAndCarNo(@Param("parkId") Long parkId, @Param("carNumber") String carNumber);

    /**昨天、今天、本周、本月、本年的车场主月租缴费 */
    String getMonthRecordAmountByDate(@Param("parkId") Long parkId, @Param("dateType") Integer dateType);

    /** 每月收益 */
    String getMonthIncome(@Param("parkId") Long parkId, @Param("month") Integer month);


    /**查询月租列表信息 */
    List<CardMonthRecordDTO> getMonthRecordByStatus(@Param("parkId") Long parkId, @Param("monthStatus") Integer monthStatus);

    /**查询用户是否购买特殊月卡（白间卡、夜间卡）*/
    List<CardMonthRecordDTO> getMonthCardByParkIdCarNumber(@Param("parkId") Long parkId, @Param("carNumber") String carNumber);

    /**获取客户月租*/
    List<CardMonthRecordDTO> getCustMonth(Long customerId);

}
